package com.duan.laugh.email.api.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 邮件账户
 * </p>
 *
 * @author liutf
 * @since 2019-11-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("email_account")
@ApiModel(value = "EmailAccount对象", description = "邮件账户")
public class EmailAccount implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "邮件服务器地址")
    private String host;

    @ApiModelProperty(value = "端口")
    private Integer port;

    @ApiModelProperty(value = "发件人")
    private String from;

    @ApiModelProperty(value = "用户名")
    private String user;

    @ApiModelProperty(value = "密码")
    private String pass;

    @ApiModelProperty(value = "使用STARTTLS")
    private Integer starttlsEnable;

    @ApiModelProperty(value = "使用SSL")
    private Integer sslEnable;

    @ApiModelProperty(value = "套字节工厂类")
    private String socketFactoryClass;

    @ApiModelProperty(value = "启用默认套字节工厂")
    private Integer socketFactoryFallback;

    @ApiModelProperty(value = "套字节工厂端口")
    private Integer socketFactoryPort;

    @ApiModelProperty(value = "超时时长")
    private Integer timeout;

    @ApiModelProperty(value = "Socket连接超时时长")
    private Integer connectionTimeout;

    @ApiModelProperty(value = "已删除（是、否）")
    private Integer deleted;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "租户id")
    private Long tenantId;


}
